#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <string>
#include <filesystem>

using namespace std;

void generate_test(int test_num, int T, int max_n) {
    string filename = "data/fib" + to_string(test_num) + ".in";
    freopen(filename.c_str(), "w", stdout);
    
    cout << T << endl;
    
    // 生成T个测试数据
    for(int i = 0; i < T; i++) {
        int n;
        if(test_num <= 4) {  // 特殊性质A
            n = rand() % 10 + 1;
        } else if(test_num <= 10) {  // 特殊性质B
            n = rand() % 1000 + 1;
        } else {  // 一般情况
            n = rand() % max_n + 1;
        }
        cout << n << endl;
    }
}

int main() {
    srand(time(0));
    
    // 创建data目录
    filesystem::create_directory("data");
    
    // 生成20组测试数据
    // 第1-4组：特殊性质A (T=1, n≤10)
    for(int i = 1; i <= 4; i++) {
        generate_test(i, 1, 10);
    }
    
    // 第5-10组：特殊性质B (T≤100, n≤1000)
    for(int i = 5; i <= 10; i++) {
        generate_test(i, rand() % 100 + 1, 1000);
    }
    
    // 第11-20组：一般情况
    for(int i = 11; i <= 20; i++) {
        generate_test(i, rand() % 100000 + 1, 1000000);
    }
    
    return 0;
} 